package com.mofum.miyi.facade.event.enums;

/**
 * 事件状态码
 *
 * @author miyi
 */

public enum EventState {

    /**
     * 写入初始化
     */
    ON_WRITE_INIT(EventType.WRITE, ExcelState.NONE, HandlerState.INIT),

    /**
     * 写入完成
     */
    ON_WRITE_COMPLETE(EventType.WRITE, ExcelState.NONE, HandlerState.COMPLETE),

    /**
     * 写入单元格
     */
    ON_WRITE_CELL(EventType.WRITE, ExcelState.CELL, HandlerState.NONE),

    /**
     * 写入行
     */
    ON_WRITE_ROW(EventType.WRITE, ExcelState.ROW, HandlerState.NONE),

    /**
     * 写入工作表
     */
    ON_WRITE_SHEET(EventType.WRITE, ExcelState.SHEET, HandlerState.NONE),

    /**
     * 写入工作薄
     */
    ON_WRITE_WORKBOOK(EventType.WRITE, ExcelState.WORKBOOK, HandlerState.NONE),

    /**
     * 读取初始化
     */
    ON_READ_INIT(EventType.READ, ExcelState.NONE, HandlerState.INIT),

    /**
     * 读取完成
     */
    ON_READ_COMPLETE(EventType.READ, ExcelState.NONE, HandlerState.COMPLETE),

    /**
     * 读取单元格
     */
    ON_READ_CELL(EventType.READ, ExcelState.CELL, HandlerState.NONE),

    /**
     * 读取行
     */
    ON_READ_ROW(EventType.READ, ExcelState.ROW, HandlerState.NONE),

    /**
     * 读取工作表
     */
    ON_READ_SHEET(EventType.READ, ExcelState.SHEET, HandlerState.NONE),

    /**
     * 读取工作薄
     */
    ON_READ_WORKBOOK(EventType.READ, ExcelState.WORKBOOK, HandlerState.NONE),

    /**
     * 清除初始化
     */
    ON_CLEAR_INIT(EventType.CLEAR, ExcelState.NONE, HandlerState.INIT),

    /**
     * 清除完成
     */
    ON_CLEAR_COMPLETE(EventType.CLEAR, ExcelState.NONE, HandlerState.COMPLETE),

    /**
     * 清除单元格
     */
    ON_CLEAR_CELL(EventType.CLEAR, ExcelState.CELL, HandlerState.NONE),

    /**
     * 清除行
     */
    ON_CLEAR_ROW(EventType.CLEAR, ExcelState.ROW, HandlerState.NONE),

    /**
     * 清除工作表
     */
    ON_CLEAR_SHEET(EventType.CLEAR, ExcelState.SHEET, HandlerState.NONE),

    /**
     * 清除工作薄
     */
    ON_CLEAR_WORKBOOK(EventType.CLEAR, ExcelState.WORKBOOK, HandlerState.NONE);

    EventState(EventType eventType, ExcelState excelState, HandlerState handlerState) {
        this.eventType = eventType;
        this.excelState = excelState;
        this.handlerState = handlerState;
    }

    private EventType eventType;

    private ExcelState excelState;

    private HandlerState handlerState;

    public EventType getEventType() {
        return eventType;
    }

    public void setEventType(EventType eventType) {
        this.eventType = eventType;
    }

    public ExcelState getExcelState() {
        return excelState;
    }

    public void setExcelState(ExcelState excelState) {
        this.excelState = excelState;
    }

    public HandlerState getHandlerState() {
        return handlerState;
    }

    public void setHandlerState(HandlerState handlerState) {
        this.handlerState = handlerState;
    }
}
